#pragma once
// MESSAGE BEACON_RESPONSE PACKING

#define MAVLINK_MSG_ID_BEACON_RESPONSE 171

MAVPACKED(
typedef struct __mavlink_beacon_response_t {
 uint32_t status; /*<  status*/
 uint32_t res1; /*<  res1*/
 float dvb_freq; /*<  dvb frequency(ka.MHz).*/
 uint32_t dvb_symb; /*<  dvb symbol rate.*/
 uint32_t dvb_rng; /*<  dvb range.*/
 float beacon_freq; /*<  beacon frequency(ka.MHz).*/
 float radio_freq; /*<  radio frequency(ka.MHz).*/
 uint32_t radio_symb; /*<  radio symbol rate.*/
 uint16_t radio_scan_rng; /*<  radio scan range.*/
 uint8_t cmd; /*<  Response the params of beacon at dvb/beacon/radio mode.*/
 uint8_t dvb_feed_volt; /*<  dvb feed volt.*/
 uint8_t dvb_22k; /*<  dvb 22k.*/
 uint8_t dvb_period; /*<  dvb period.*/
 uint8_t dvb_id; /*<  dvb period.*/
 uint8_t dvb_mcod; /*<  dvb mode code.*/
 uint8_t dvb_roll; /*<  dvb roll.*/
 uint8_t dvb_std; /*<  dvb standard code.*/
 uint8_t dvb_alg; /*<  dvb algorithm.*/
 uint8_t dvb_pr; /*<  dvb punch rate.*/
 uint8_t beacon_feed_volt; /*<  beacon feed volt.*/
 uint8_t beacon_22k; /*<  beacon 22k.*/
 uint8_t beacon_period; /*<  beacon period.*/
 uint8_t beacon_rng; /*<  beacon range.*/
 uint8_t radio_feed_volt; /*<  radio feed volt.*/
 uint8_t radio_22k; /*<  radio 22k.*/
 uint8_t radio_period; /*<  radio period.*/
 uint8_t radio_roll; /*<  radio roll.*/
 uint8_t ascii_info[60]; /*<  ascii information.*/
}) mavlink_beacon_response_t;

#define MAVLINK_MSG_ID_BEACON_RESPONSE_LEN 112
#define MAVLINK_MSG_ID_BEACON_RESPONSE_MIN_LEN 112
#define MAVLINK_MSG_ID_171_LEN 112
#define MAVLINK_MSG_ID_171_MIN_LEN 112

#define MAVLINK_MSG_ID_BEACON_RESPONSE_CRC 252
#define MAVLINK_MSG_ID_171_CRC 252

#define MAVLINK_MSG_BEACON_RESPONSE_FIELD_ASCII_INFO_LEN 60

#if MAVLINK_COMMAND_24BIT
#define MAVLINK_MESSAGE_INFO_BEACON_RESPONSE { \
    171, \
    "BEACON_RESPONSE", \
    28, \
    {  { "status", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_beacon_response_t, status) }, \
         { "res1", NULL, MAVLINK_TYPE_UINT32_T, 0, 4, offsetof(mavlink_beacon_response_t, res1) }, \
         { "cmd", NULL, MAVLINK_TYPE_UINT8_T, 0, 34, offsetof(mavlink_beacon_response_t, cmd) }, \
         { "dvb_feed_volt", NULL, MAVLINK_TYPE_UINT8_T, 0, 35, offsetof(mavlink_beacon_response_t, dvb_feed_volt) }, \
         { "dvb_22k", NULL, MAVLINK_TYPE_UINT8_T, 0, 36, offsetof(mavlink_beacon_response_t, dvb_22k) }, \
         { "dvb_period", NULL, MAVLINK_TYPE_UINT8_T, 0, 37, offsetof(mavlink_beacon_response_t, dvb_period) }, \
         { "dvb_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 38, offsetof(mavlink_beacon_response_t, dvb_id) }, \
         { "dvb_freq", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_beacon_response_t, dvb_freq) }, \
         { "dvb_symb", NULL, MAVLINK_TYPE_UINT32_T, 0, 12, offsetof(mavlink_beacon_response_t, dvb_symb) }, \
         { "dvb_rng", NULL, MAVLINK_TYPE_UINT32_T, 0, 16, offsetof(mavlink_beacon_response_t, dvb_rng) }, \
         { "dvb_mcod", NULL, MAVLINK_TYPE_UINT8_T, 0, 39, offsetof(mavlink_beacon_response_t, dvb_mcod) }, \
         { "dvb_roll", NULL, MAVLINK_TYPE_UINT8_T, 0, 40, offsetof(mavlink_beacon_response_t, dvb_roll) }, \
         { "dvb_std", NULL, MAVLINK_TYPE_UINT8_T, 0, 41, offsetof(mavlink_beacon_response_t, dvb_std) }, \
         { "dvb_alg", NULL, MAVLINK_TYPE_UINT8_T, 0, 42, offsetof(mavlink_beacon_response_t, dvb_alg) }, \
         { "dvb_pr", NULL, MAVLINK_TYPE_UINT8_T, 0, 43, offsetof(mavlink_beacon_response_t, dvb_pr) }, \
         { "beacon_feed_volt", NULL, MAVLINK_TYPE_UINT8_T, 0, 44, offsetof(mavlink_beacon_response_t, beacon_feed_volt) }, \
         { "beacon_22k", NULL, MAVLINK_TYPE_UINT8_T, 0, 45, offsetof(mavlink_beacon_response_t, beacon_22k) }, \
         { "beacon_period", NULL, MAVLINK_TYPE_UINT8_T, 0, 46, offsetof(mavlink_beacon_response_t, beacon_period) }, \
         { "beacon_freq", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_beacon_response_t, beacon_freq) }, \
         { "beacon_rng", NULL, MAVLINK_TYPE_UINT8_T, 0, 47, offsetof(mavlink_beacon_response_t, beacon_rng) }, \
         { "radio_feed_volt", NULL, MAVLINK_TYPE_UINT8_T, 0, 48, offsetof(mavlink_beacon_response_t, radio_feed_volt) }, \
         { "radio_22k", NULL, MAVLINK_TYPE_UINT8_T, 0, 49, offsetof(mavlink_beacon_response_t, radio_22k) }, \
         { "radio_period", NULL, MAVLINK_TYPE_UINT8_T, 0, 50, offsetof(mavlink_beacon_response_t, radio_period) }, \
         { "radio_freq", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_beacon_response_t, radio_freq) }, \
         { "radio_symb", NULL, MAVLINK_TYPE_UINT32_T, 0, 28, offsetof(mavlink_beacon_response_t, radio_symb) }, \
         { "radio_scan_rng", NULL, MAVLINK_TYPE_UINT16_T, 0, 32, offsetof(mavlink_beacon_response_t, radio_scan_rng) }, \
         { "radio_roll", NULL, MAVLINK_TYPE_UINT8_T, 0, 51, offsetof(mavlink_beacon_response_t, radio_roll) }, \
         { "ascii_info", NULL, MAVLINK_TYPE_UINT8_T, 60, 52, offsetof(mavlink_beacon_response_t, ascii_info) }, \
         } \
}
#else
#define MAVLINK_MESSAGE_INFO_BEACON_RESPONSE { \
    "BEACON_RESPONSE", \
    28, \
    {  { "status", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_beacon_response_t, status) }, \
         { "res1", NULL, MAVLINK_TYPE_UINT32_T, 0, 4, offsetof(mavlink_beacon_response_t, res1) }, \
         { "cmd", NULL, MAVLINK_TYPE_UINT8_T, 0, 34, offsetof(mavlink_beacon_response_t, cmd) }, \
         { "dvb_feed_volt", NULL, MAVLINK_TYPE_UINT8_T, 0, 35, offsetof(mavlink_beacon_response_t, dvb_feed_volt) }, \
         { "dvb_22k", NULL, MAVLINK_TYPE_UINT8_T, 0, 36, offsetof(mavlink_beacon_response_t, dvb_22k) }, \
         { "dvb_period", NULL, MAVLINK_TYPE_UINT8_T, 0, 37, offsetof(mavlink_beacon_response_t, dvb_period) }, \
         { "dvb_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 38, offsetof(mavlink_beacon_response_t, dvb_id) }, \
         { "dvb_freq", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_beacon_response_t, dvb_freq) }, \
         { "dvb_symb", NULL, MAVLINK_TYPE_UINT32_T, 0, 12, offsetof(mavlink_beacon_response_t, dvb_symb) }, \
         { "dvb_rng", NULL, MAVLINK_TYPE_UINT32_T, 0, 16, offsetof(mavlink_beacon_response_t, dvb_rng) }, \
         { "dvb_mcod", NULL, MAVLINK_TYPE_UINT8_T, 0, 39, offsetof(mavlink_beacon_response_t, dvb_mcod) }, \
         { "dvb_roll", NULL, MAVLINK_TYPE_UINT8_T, 0, 40, offsetof(mavlink_beacon_response_t, dvb_roll) }, \
         { "dvb_std", NULL, MAVLINK_TYPE_UINT8_T, 0, 41, offsetof(mavlink_beacon_response_t, dvb_std) }, \
         { "dvb_alg", NULL, MAVLINK_TYPE_UINT8_T, 0, 42, offsetof(mavlink_beacon_response_t, dvb_alg) }, \
         { "dvb_pr", NULL, MAVLINK_TYPE_UINT8_T, 0, 43, offsetof(mavlink_beacon_response_t, dvb_pr) }, \
         { "beacon_feed_volt", NULL, MAVLINK_TYPE_UINT8_T, 0, 44, offsetof(mavlink_beacon_response_t, beacon_feed_volt) }, \
         { "beacon_22k", NULL, MAVLINK_TYPE_UINT8_T, 0, 45, offsetof(mavlink_beacon_response_t, beacon_22k) }, \
         { "beacon_period", NULL, MAVLINK_TYPE_UINT8_T, 0, 46, offsetof(mavlink_beacon_response_t, beacon_period) }, \
         { "beacon_freq", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_beacon_response_t, beacon_freq) }, \
         { "beacon_rng", NULL, MAVLINK_TYPE_UINT8_T, 0, 47, offsetof(mavlink_beacon_response_t, beacon_rng) }, \
         { "radio_feed_volt", NULL, MAVLINK_TYPE_UINT8_T, 0, 48, offsetof(mavlink_beacon_response_t, radio_feed_volt) }, \
         { "radio_22k", NULL, MAVLINK_TYPE_UINT8_T, 0, 49, offsetof(mavlink_beacon_response_t, radio_22k) }, \
         { "radio_period", NULL, MAVLINK_TYPE_UINT8_T, 0, 50, offsetof(mavlink_beacon_response_t, radio_period) }, \
         { "radio_freq", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_beacon_response_t, radio_freq) }, \
         { "radio_symb", NULL, MAVLINK_TYPE_UINT32_T, 0, 28, offsetof(mavlink_beacon_response_t, radio_symb) }, \
         { "radio_scan_rng", NULL, MAVLINK_TYPE_UINT16_T, 0, 32, offsetof(mavlink_beacon_response_t, radio_scan_rng) }, \
         { "radio_roll", NULL, MAVLINK_TYPE_UINT8_T, 0, 51, offsetof(mavlink_beacon_response_t, radio_roll) }, \
         { "ascii_info", NULL, MAVLINK_TYPE_UINT8_T, 60, 52, offsetof(mavlink_beacon_response_t, ascii_info) }, \
         } \
}
#endif

/**
 * @brief Pack a beacon_response message
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
 * @param msg The MAVLink message to compress the data into
 *
 * @param status  status
 * @param res1  res1
 * @param cmd  Response the params of beacon at dvb/beacon/radio mode.
 * @param dvb_feed_volt  dvb feed volt.
 * @param dvb_22k  dvb 22k.
 * @param dvb_period  dvb period.
 * @param dvb_id  dvb period.
 * @param dvb_freq  dvb frequency(ka.MHz).
 * @param dvb_symb  dvb symbol rate.
 * @param dvb_rng  dvb range.
 * @param dvb_mcod  dvb mode code.
 * @param dvb_roll  dvb roll.
 * @param dvb_std  dvb standard code.
 * @param dvb_alg  dvb algorithm.
 * @param dvb_pr  dvb punch rate.
 * @param beacon_feed_volt  beacon feed volt.
 * @param beacon_22k  beacon 22k.
 * @param beacon_period  beacon period.
 * @param beacon_freq  beacon frequency(ka.MHz).
 * @param beacon_rng  beacon range.
 * @param radio_feed_volt  radio feed volt.
 * @param radio_22k  radio 22k.
 * @param radio_period  radio period.
 * @param radio_freq  radio frequency(ka.MHz).
 * @param radio_symb  radio symbol rate.
 * @param radio_scan_rng  radio scan range.
 * @param radio_roll  radio roll.
 * @param ascii_info  ascii information.
 * @return length of the message in bytes (excluding serial stream start sign)
 */
static inline uint16_t mavlink_msg_beacon_response_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
                               uint32_t status, uint32_t res1, uint8_t cmd, uint8_t dvb_feed_volt, uint8_t dvb_22k, uint8_t dvb_period, uint8_t dvb_id, float dvb_freq, uint32_t dvb_symb, uint32_t dvb_rng, uint8_t dvb_mcod, uint8_t dvb_roll, uint8_t dvb_std, uint8_t dvb_alg, uint8_t dvb_pr, uint8_t beacon_feed_volt, uint8_t beacon_22k, uint8_t beacon_period, float beacon_freq, uint8_t beacon_rng, uint8_t radio_feed_volt, uint8_t radio_22k, uint8_t radio_period, float radio_freq, uint32_t radio_symb, uint16_t radio_scan_rng, uint8_t radio_roll, const uint8_t *ascii_info)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    char buf[MAVLINK_MSG_ID_BEACON_RESPONSE_LEN];
    _mav_put_uint32_t(buf, 0, status);
    _mav_put_uint32_t(buf, 4, res1);
    _mav_put_float(buf, 8, dvb_freq);
    _mav_put_uint32_t(buf, 12, dvb_symb);
    _mav_put_uint32_t(buf, 16, dvb_rng);
    _mav_put_float(buf, 20, beacon_freq);
    _mav_put_float(buf, 24, radio_freq);
    _mav_put_uint32_t(buf, 28, radio_symb);
    _mav_put_uint16_t(buf, 32, radio_scan_rng);
    _mav_put_uint8_t(buf, 34, cmd);
    _mav_put_uint8_t(buf, 35, dvb_feed_volt);
    _mav_put_uint8_t(buf, 36, dvb_22k);
    _mav_put_uint8_t(buf, 37, dvb_period);
    _mav_put_uint8_t(buf, 38, dvb_id);
    _mav_put_uint8_t(buf, 39, dvb_mcod);
    _mav_put_uint8_t(buf, 40, dvb_roll);
    _mav_put_uint8_t(buf, 41, dvb_std);
    _mav_put_uint8_t(buf, 42, dvb_alg);
    _mav_put_uint8_t(buf, 43, dvb_pr);
    _mav_put_uint8_t(buf, 44, beacon_feed_volt);
    _mav_put_uint8_t(buf, 45, beacon_22k);
    _mav_put_uint8_t(buf, 46, beacon_period);
    _mav_put_uint8_t(buf, 47, beacon_rng);
    _mav_put_uint8_t(buf, 48, radio_feed_volt);
    _mav_put_uint8_t(buf, 49, radio_22k);
    _mav_put_uint8_t(buf, 50, radio_period);
    _mav_put_uint8_t(buf, 51, radio_roll);
    _mav_put_uint8_t_array(buf, 52, ascii_info, 60);
        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_BEACON_RESPONSE_LEN);
#else
    mavlink_beacon_response_t packet;
    packet.status = status;
    packet.res1 = res1;
    packet.dvb_freq = dvb_freq;
    packet.dvb_symb = dvb_symb;
    packet.dvb_rng = dvb_rng;
    packet.beacon_freq = beacon_freq;
    packet.radio_freq = radio_freq;
    packet.radio_symb = radio_symb;
    packet.radio_scan_rng = radio_scan_rng;
    packet.cmd = cmd;
    packet.dvb_feed_volt = dvb_feed_volt;
    packet.dvb_22k = dvb_22k;
    packet.dvb_period = dvb_period;
    packet.dvb_id = dvb_id;
    packet.dvb_mcod = dvb_mcod;
    packet.dvb_roll = dvb_roll;
    packet.dvb_std = dvb_std;
    packet.dvb_alg = dvb_alg;
    packet.dvb_pr = dvb_pr;
    packet.beacon_feed_volt = beacon_feed_volt;
    packet.beacon_22k = beacon_22k;
    packet.beacon_period = beacon_period;
    packet.beacon_rng = beacon_rng;
    packet.radio_feed_volt = radio_feed_volt;
    packet.radio_22k = radio_22k;
    packet.radio_period = radio_period;
    packet.radio_roll = radio_roll;
    mav_array_memcpy(packet.ascii_info, ascii_info, sizeof(uint8_t)*60);
        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_BEACON_RESPONSE_LEN);
#endif

    msg->msgid = MAVLINK_MSG_ID_BEACON_RESPONSE;
    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_BEACON_RESPONSE_MIN_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_CRC);
}

/**
 * @brief Pack a beacon_response message on a channel
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
 * @param chan The MAVLink channel this message will be sent over
 * @param msg The MAVLink message to compress the data into
 * @param status  status
 * @param res1  res1
 * @param cmd  Response the params of beacon at dvb/beacon/radio mode.
 * @param dvb_feed_volt  dvb feed volt.
 * @param dvb_22k  dvb 22k.
 * @param dvb_period  dvb period.
 * @param dvb_id  dvb period.
 * @param dvb_freq  dvb frequency(ka.MHz).
 * @param dvb_symb  dvb symbol rate.
 * @param dvb_rng  dvb range.
 * @param dvb_mcod  dvb mode code.
 * @param dvb_roll  dvb roll.
 * @param dvb_std  dvb standard code.
 * @param dvb_alg  dvb algorithm.
 * @param dvb_pr  dvb punch rate.
 * @param beacon_feed_volt  beacon feed volt.
 * @param beacon_22k  beacon 22k.
 * @param beacon_period  beacon period.
 * @param beacon_freq  beacon frequency(ka.MHz).
 * @param beacon_rng  beacon range.
 * @param radio_feed_volt  radio feed volt.
 * @param radio_22k  radio 22k.
 * @param radio_period  radio period.
 * @param radio_freq  radio frequency(ka.MHz).
 * @param radio_symb  radio symbol rate.
 * @param radio_scan_rng  radio scan range.
 * @param radio_roll  radio roll.
 * @param ascii_info  ascii information.
 * @return length of the message in bytes (excluding serial stream start sign)
 */
static inline uint16_t mavlink_msg_beacon_response_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
                               mavlink_message_t* msg,
                                   uint32_t status,uint32_t res1,uint8_t cmd,uint8_t dvb_feed_volt,uint8_t dvb_22k,uint8_t dvb_period,uint8_t dvb_id,float dvb_freq,uint32_t dvb_symb,uint32_t dvb_rng,uint8_t dvb_mcod,uint8_t dvb_roll,uint8_t dvb_std,uint8_t dvb_alg,uint8_t dvb_pr,uint8_t beacon_feed_volt,uint8_t beacon_22k,uint8_t beacon_period,float beacon_freq,uint8_t beacon_rng,uint8_t radio_feed_volt,uint8_t radio_22k,uint8_t radio_period,float radio_freq,uint32_t radio_symb,uint16_t radio_scan_rng,uint8_t radio_roll,const uint8_t *ascii_info)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    char buf[MAVLINK_MSG_ID_BEACON_RESPONSE_LEN];
    _mav_put_uint32_t(buf, 0, status);
    _mav_put_uint32_t(buf, 4, res1);
    _mav_put_float(buf, 8, dvb_freq);
    _mav_put_uint32_t(buf, 12, dvb_symb);
    _mav_put_uint32_t(buf, 16, dvb_rng);
    _mav_put_float(buf, 20, beacon_freq);
    _mav_put_float(buf, 24, radio_freq);
    _mav_put_uint32_t(buf, 28, radio_symb);
    _mav_put_uint16_t(buf, 32, radio_scan_rng);
    _mav_put_uint8_t(buf, 34, cmd);
    _mav_put_uint8_t(buf, 35, dvb_feed_volt);
    _mav_put_uint8_t(buf, 36, dvb_22k);
    _mav_put_uint8_t(buf, 37, dvb_period);
    _mav_put_uint8_t(buf, 38, dvb_id);
    _mav_put_uint8_t(buf, 39, dvb_mcod);
    _mav_put_uint8_t(buf, 40, dvb_roll);
    _mav_put_uint8_t(buf, 41, dvb_std);
    _mav_put_uint8_t(buf, 42, dvb_alg);
    _mav_put_uint8_t(buf, 43, dvb_pr);
    _mav_put_uint8_t(buf, 44, beacon_feed_volt);
    _mav_put_uint8_t(buf, 45, beacon_22k);
    _mav_put_uint8_t(buf, 46, beacon_period);
    _mav_put_uint8_t(buf, 47, beacon_rng);
    _mav_put_uint8_t(buf, 48, radio_feed_volt);
    _mav_put_uint8_t(buf, 49, radio_22k);
    _mav_put_uint8_t(buf, 50, radio_period);
    _mav_put_uint8_t(buf, 51, radio_roll);
    _mav_put_uint8_t_array(buf, 52, ascii_info, 60);
        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_BEACON_RESPONSE_LEN);
#else
    mavlink_beacon_response_t packet;
    packet.status = status;
    packet.res1 = res1;
    packet.dvb_freq = dvb_freq;
    packet.dvb_symb = dvb_symb;
    packet.dvb_rng = dvb_rng;
    packet.beacon_freq = beacon_freq;
    packet.radio_freq = radio_freq;
    packet.radio_symb = radio_symb;
    packet.radio_scan_rng = radio_scan_rng;
    packet.cmd = cmd;
    packet.dvb_feed_volt = dvb_feed_volt;
    packet.dvb_22k = dvb_22k;
    packet.dvb_period = dvb_period;
    packet.dvb_id = dvb_id;
    packet.dvb_mcod = dvb_mcod;
    packet.dvb_roll = dvb_roll;
    packet.dvb_std = dvb_std;
    packet.dvb_alg = dvb_alg;
    packet.dvb_pr = dvb_pr;
    packet.beacon_feed_volt = beacon_feed_volt;
    packet.beacon_22k = beacon_22k;
    packet.beacon_period = beacon_period;
    packet.beacon_rng = beacon_rng;
    packet.radio_feed_volt = radio_feed_volt;
    packet.radio_22k = radio_22k;
    packet.radio_period = radio_period;
    packet.radio_roll = radio_roll;
    mav_array_memcpy(packet.ascii_info, ascii_info, sizeof(uint8_t)*60);
        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_BEACON_RESPONSE_LEN);
#endif

    msg->msgid = MAVLINK_MSG_ID_BEACON_RESPONSE;
    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_BEACON_RESPONSE_MIN_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_CRC);
}

/**
 * @brief Encode a beacon_response struct
 *
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
 * @param msg The MAVLink message to compress the data into
 * @param beacon_response C-struct to read the message contents from
 */
static inline uint16_t mavlink_msg_beacon_response_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_beacon_response_t* beacon_response)
{
    return mavlink_msg_beacon_response_pack(system_id, component_id, msg, beacon_response->status, beacon_response->res1, beacon_response->cmd, beacon_response->dvb_feed_volt, beacon_response->dvb_22k, beacon_response->dvb_period, beacon_response->dvb_id, beacon_response->dvb_freq, beacon_response->dvb_symb, beacon_response->dvb_rng, beacon_response->dvb_mcod, beacon_response->dvb_roll, beacon_response->dvb_std, beacon_response->dvb_alg, beacon_response->dvb_pr, beacon_response->beacon_feed_volt, beacon_response->beacon_22k, beacon_response->beacon_period, beacon_response->beacon_freq, beacon_response->beacon_rng, beacon_response->radio_feed_volt, beacon_response->radio_22k, beacon_response->radio_period, beacon_response->radio_freq, beacon_response->radio_symb, beacon_response->radio_scan_rng, beacon_response->radio_roll, beacon_response->ascii_info);
}

/**
 * @brief Encode a beacon_response struct on a channel
 *
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
 * @param chan The MAVLink channel this message will be sent over
 * @param msg The MAVLink message to compress the data into
 * @param beacon_response C-struct to read the message contents from
 */
static inline uint16_t mavlink_msg_beacon_response_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_beacon_response_t* beacon_response)
{
    return mavlink_msg_beacon_response_pack_chan(system_id, component_id, chan, msg, beacon_response->status, beacon_response->res1, beacon_response->cmd, beacon_response->dvb_feed_volt, beacon_response->dvb_22k, beacon_response->dvb_period, beacon_response->dvb_id, beacon_response->dvb_freq, beacon_response->dvb_symb, beacon_response->dvb_rng, beacon_response->dvb_mcod, beacon_response->dvb_roll, beacon_response->dvb_std, beacon_response->dvb_alg, beacon_response->dvb_pr, beacon_response->beacon_feed_volt, beacon_response->beacon_22k, beacon_response->beacon_period, beacon_response->beacon_freq, beacon_response->beacon_rng, beacon_response->radio_feed_volt, beacon_response->radio_22k, beacon_response->radio_period, beacon_response->radio_freq, beacon_response->radio_symb, beacon_response->radio_scan_rng, beacon_response->radio_roll, beacon_response->ascii_info);
}

/**
 * @brief Send a beacon_response message
 * @param chan MAVLink channel to send the message
 *
 * @param status  status
 * @param res1  res1
 * @param cmd  Response the params of beacon at dvb/beacon/radio mode.
 * @param dvb_feed_volt  dvb feed volt.
 * @param dvb_22k  dvb 22k.
 * @param dvb_period  dvb period.
 * @param dvb_id  dvb period.
 * @param dvb_freq  dvb frequency(ka.MHz).
 * @param dvb_symb  dvb symbol rate.
 * @param dvb_rng  dvb range.
 * @param dvb_mcod  dvb mode code.
 * @param dvb_roll  dvb roll.
 * @param dvb_std  dvb standard code.
 * @param dvb_alg  dvb algorithm.
 * @param dvb_pr  dvb punch rate.
 * @param beacon_feed_volt  beacon feed volt.
 * @param beacon_22k  beacon 22k.
 * @param beacon_period  beacon period.
 * @param beacon_freq  beacon frequency(ka.MHz).
 * @param beacon_rng  beacon range.
 * @param radio_feed_volt  radio feed volt.
 * @param radio_22k  radio 22k.
 * @param radio_period  radio period.
 * @param radio_freq  radio frequency(ka.MHz).
 * @param radio_symb  radio symbol rate.
 * @param radio_scan_rng  radio scan range.
 * @param radio_roll  radio roll.
 * @param ascii_info  ascii information.
 */
#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS

static inline void mavlink_msg_beacon_response_send(mavlink_channel_t chan, uint32_t status, uint32_t res1, uint8_t cmd, uint8_t dvb_feed_volt, uint8_t dvb_22k, uint8_t dvb_period, uint8_t dvb_id, float dvb_freq, uint32_t dvb_symb, uint32_t dvb_rng, uint8_t dvb_mcod, uint8_t dvb_roll, uint8_t dvb_std, uint8_t dvb_alg, uint8_t dvb_pr, uint8_t beacon_feed_volt, uint8_t beacon_22k, uint8_t beacon_period, float beacon_freq, uint8_t beacon_rng, uint8_t radio_feed_volt, uint8_t radio_22k, uint8_t radio_period, float radio_freq, uint32_t radio_symb, uint16_t radio_scan_rng, uint8_t radio_roll, const uint8_t *ascii_info)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    char buf[MAVLINK_MSG_ID_BEACON_RESPONSE_LEN];
    _mav_put_uint32_t(buf, 0, status);
    _mav_put_uint32_t(buf, 4, res1);
    _mav_put_float(buf, 8, dvb_freq);
    _mav_put_uint32_t(buf, 12, dvb_symb);
    _mav_put_uint32_t(buf, 16, dvb_rng);
    _mav_put_float(buf, 20, beacon_freq);
    _mav_put_float(buf, 24, radio_freq);
    _mav_put_uint32_t(buf, 28, radio_symb);
    _mav_put_uint16_t(buf, 32, radio_scan_rng);
    _mav_put_uint8_t(buf, 34, cmd);
    _mav_put_uint8_t(buf, 35, dvb_feed_volt);
    _mav_put_uint8_t(buf, 36, dvb_22k);
    _mav_put_uint8_t(buf, 37, dvb_period);
    _mav_put_uint8_t(buf, 38, dvb_id);
    _mav_put_uint8_t(buf, 39, dvb_mcod);
    _mav_put_uint8_t(buf, 40, dvb_roll);
    _mav_put_uint8_t(buf, 41, dvb_std);
    _mav_put_uint8_t(buf, 42, dvb_alg);
    _mav_put_uint8_t(buf, 43, dvb_pr);
    _mav_put_uint8_t(buf, 44, beacon_feed_volt);
    _mav_put_uint8_t(buf, 45, beacon_22k);
    _mav_put_uint8_t(buf, 46, beacon_period);
    _mav_put_uint8_t(buf, 47, beacon_rng);
    _mav_put_uint8_t(buf, 48, radio_feed_volt);
    _mav_put_uint8_t(buf, 49, radio_22k);
    _mav_put_uint8_t(buf, 50, radio_period);
    _mav_put_uint8_t(buf, 51, radio_roll);
    _mav_put_uint8_t_array(buf, 52, ascii_info, 60);
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BEACON_RESPONSE, buf, MAVLINK_MSG_ID_BEACON_RESPONSE_MIN_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_CRC);
#else
    mavlink_beacon_response_t packet;
    packet.status = status;
    packet.res1 = res1;
    packet.dvb_freq = dvb_freq;
    packet.dvb_symb = dvb_symb;
    packet.dvb_rng = dvb_rng;
    packet.beacon_freq = beacon_freq;
    packet.radio_freq = radio_freq;
    packet.radio_symb = radio_symb;
    packet.radio_scan_rng = radio_scan_rng;
    packet.cmd = cmd;
    packet.dvb_feed_volt = dvb_feed_volt;
    packet.dvb_22k = dvb_22k;
    packet.dvb_period = dvb_period;
    packet.dvb_id = dvb_id;
    packet.dvb_mcod = dvb_mcod;
    packet.dvb_roll = dvb_roll;
    packet.dvb_std = dvb_std;
    packet.dvb_alg = dvb_alg;
    packet.dvb_pr = dvb_pr;
    packet.beacon_feed_volt = beacon_feed_volt;
    packet.beacon_22k = beacon_22k;
    packet.beacon_period = beacon_period;
    packet.beacon_rng = beacon_rng;
    packet.radio_feed_volt = radio_feed_volt;
    packet.radio_22k = radio_22k;
    packet.radio_period = radio_period;
    packet.radio_roll = radio_roll;
    mav_array_memcpy(packet.ascii_info, ascii_info, sizeof(uint8_t)*60);
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BEACON_RESPONSE, (const char *)&packet, MAVLINK_MSG_ID_BEACON_RESPONSE_MIN_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_CRC);
#endif
}

/**
 * @brief Send a beacon_response message
 * @param chan MAVLink channel to send the message
 * @param struct The MAVLink struct to serialize
 */
static inline void mavlink_msg_beacon_response_send_struct(mavlink_channel_t chan, const mavlink_beacon_response_t* beacon_response)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    mavlink_msg_beacon_response_send(chan, beacon_response->status, beacon_response->res1, beacon_response->cmd, beacon_response->dvb_feed_volt, beacon_response->dvb_22k, beacon_response->dvb_period, beacon_response->dvb_id, beacon_response->dvb_freq, beacon_response->dvb_symb, beacon_response->dvb_rng, beacon_response->dvb_mcod, beacon_response->dvb_roll, beacon_response->dvb_std, beacon_response->dvb_alg, beacon_response->dvb_pr, beacon_response->beacon_feed_volt, beacon_response->beacon_22k, beacon_response->beacon_period, beacon_response->beacon_freq, beacon_response->beacon_rng, beacon_response->radio_feed_volt, beacon_response->radio_22k, beacon_response->radio_period, beacon_response->radio_freq, beacon_response->radio_symb, beacon_response->radio_scan_rng, beacon_response->radio_roll, beacon_response->ascii_info);
#else
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BEACON_RESPONSE, (const char *)beacon_response, MAVLINK_MSG_ID_BEACON_RESPONSE_MIN_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_CRC);
#endif
}

#if MAVLINK_MSG_ID_BEACON_RESPONSE_LEN <= MAVLINK_MAX_PAYLOAD_LEN
/*
  This varient of _send() can be used to save stack space by re-using
  memory from the receive buffer.  The caller provides a
  mavlink_message_t which is the size of a full mavlink message. This
  is usually the receive buffer for the channel, and allows a reply to an
  incoming message with minimum stack space usage.
 */
static inline void mavlink_msg_beacon_response_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint32_t status, uint32_t res1, uint8_t cmd, uint8_t dvb_feed_volt, uint8_t dvb_22k, uint8_t dvb_period, uint8_t dvb_id, float dvb_freq, uint32_t dvb_symb, uint32_t dvb_rng, uint8_t dvb_mcod, uint8_t dvb_roll, uint8_t dvb_std, uint8_t dvb_alg, uint8_t dvb_pr, uint8_t beacon_feed_volt, uint8_t beacon_22k, uint8_t beacon_period, float beacon_freq, uint8_t beacon_rng, uint8_t radio_feed_volt, uint8_t radio_22k, uint8_t radio_period, float radio_freq, uint32_t radio_symb, uint16_t radio_scan_rng, uint8_t radio_roll, const uint8_t *ascii_info)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    char *buf = (char *)msgbuf;
    _mav_put_uint32_t(buf, 0, status);
    _mav_put_uint32_t(buf, 4, res1);
    _mav_put_float(buf, 8, dvb_freq);
    _mav_put_uint32_t(buf, 12, dvb_symb);
    _mav_put_uint32_t(buf, 16, dvb_rng);
    _mav_put_float(buf, 20, beacon_freq);
    _mav_put_float(buf, 24, radio_freq);
    _mav_put_uint32_t(buf, 28, radio_symb);
    _mav_put_uint16_t(buf, 32, radio_scan_rng);
    _mav_put_uint8_t(buf, 34, cmd);
    _mav_put_uint8_t(buf, 35, dvb_feed_volt);
    _mav_put_uint8_t(buf, 36, dvb_22k);
    _mav_put_uint8_t(buf, 37, dvb_period);
    _mav_put_uint8_t(buf, 38, dvb_id);
    _mav_put_uint8_t(buf, 39, dvb_mcod);
    _mav_put_uint8_t(buf, 40, dvb_roll);
    _mav_put_uint8_t(buf, 41, dvb_std);
    _mav_put_uint8_t(buf, 42, dvb_alg);
    _mav_put_uint8_t(buf, 43, dvb_pr);
    _mav_put_uint8_t(buf, 44, beacon_feed_volt);
    _mav_put_uint8_t(buf, 45, beacon_22k);
    _mav_put_uint8_t(buf, 46, beacon_period);
    _mav_put_uint8_t(buf, 47, beacon_rng);
    _mav_put_uint8_t(buf, 48, radio_feed_volt);
    _mav_put_uint8_t(buf, 49, radio_22k);
    _mav_put_uint8_t(buf, 50, radio_period);
    _mav_put_uint8_t(buf, 51, radio_roll);
    _mav_put_uint8_t_array(buf, 52, ascii_info, 60);
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BEACON_RESPONSE, buf, MAVLINK_MSG_ID_BEACON_RESPONSE_MIN_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_CRC);
#else
    mavlink_beacon_response_t *packet = (mavlink_beacon_response_t *)msgbuf;
    packet->status = status;
    packet->res1 = res1;
    packet->dvb_freq = dvb_freq;
    packet->dvb_symb = dvb_symb;
    packet->dvb_rng = dvb_rng;
    packet->beacon_freq = beacon_freq;
    packet->radio_freq = radio_freq;
    packet->radio_symb = radio_symb;
    packet->radio_scan_rng = radio_scan_rng;
    packet->cmd = cmd;
    packet->dvb_feed_volt = dvb_feed_volt;
    packet->dvb_22k = dvb_22k;
    packet->dvb_period = dvb_period;
    packet->dvb_id = dvb_id;
    packet->dvb_mcod = dvb_mcod;
    packet->dvb_roll = dvb_roll;
    packet->dvb_std = dvb_std;
    packet->dvb_alg = dvb_alg;
    packet->dvb_pr = dvb_pr;
    packet->beacon_feed_volt = beacon_feed_volt;
    packet->beacon_22k = beacon_22k;
    packet->beacon_period = beacon_period;
    packet->beacon_rng = beacon_rng;
    packet->radio_feed_volt = radio_feed_volt;
    packet->radio_22k = radio_22k;
    packet->radio_period = radio_period;
    packet->radio_roll = radio_roll;
    mav_array_memcpy(packet->ascii_info, ascii_info, sizeof(uint8_t)*60);
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_BEACON_RESPONSE, (const char *)packet, MAVLINK_MSG_ID_BEACON_RESPONSE_MIN_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_LEN, MAVLINK_MSG_ID_BEACON_RESPONSE_CRC);
#endif
}
#endif

#endif

// MESSAGE BEACON_RESPONSE UNPACKING


/**
 * @brief Get field status from beacon_response message
 *
 * @return  status
 */
static inline uint32_t mavlink_msg_beacon_response_get_status(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint32_t(msg,  0);
}

/**
 * @brief Get field res1 from beacon_response message
 *
 * @return  res1
 */
static inline uint32_t mavlink_msg_beacon_response_get_res1(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint32_t(msg,  4);
}

/**
 * @brief Get field cmd from beacon_response message
 *
 * @return  Response the params of beacon at dvb/beacon/radio mode.
 */
static inline uint8_t mavlink_msg_beacon_response_get_cmd(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  34);
}

/**
 * @brief Get field dvb_feed_volt from beacon_response message
 *
 * @return  dvb feed volt.
 */
static inline uint8_t mavlink_msg_beacon_response_get_dvb_feed_volt(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  35);
}

/**
 * @brief Get field dvb_22k from beacon_response message
 *
 * @return  dvb 22k.
 */
static inline uint8_t mavlink_msg_beacon_response_get_dvb_22k(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  36);
}

/**
 * @brief Get field dvb_period from beacon_response message
 *
 * @return  dvb period.
 */
static inline uint8_t mavlink_msg_beacon_response_get_dvb_period(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  37);
}

/**
 * @brief Get field dvb_id from beacon_response message
 *
 * @return  dvb period.
 */
static inline uint8_t mavlink_msg_beacon_response_get_dvb_id(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  38);
}

/**
 * @brief Get field dvb_freq from beacon_response message
 *
 * @return  dvb frequency(ka.MHz).
 */
static inline float mavlink_msg_beacon_response_get_dvb_freq(const mavlink_message_t* msg)
{
    return _MAV_RETURN_float(msg,  8);
}

/**
 * @brief Get field dvb_symb from beacon_response message
 *
 * @return  dvb symbol rate.
 */
static inline uint32_t mavlink_msg_beacon_response_get_dvb_symb(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint32_t(msg,  12);
}

/**
 * @brief Get field dvb_rng from beacon_response message
 *
 * @return  dvb range.
 */
static inline uint32_t mavlink_msg_beacon_response_get_dvb_rng(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint32_t(msg,  16);
}

/**
 * @brief Get field dvb_mcod from beacon_response message
 *
 * @return  dvb mode code.
 */
static inline uint8_t mavlink_msg_beacon_response_get_dvb_mcod(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  39);
}

/**
 * @brief Get field dvb_roll from beacon_response message
 *
 * @return  dvb roll.
 */
static inline uint8_t mavlink_msg_beacon_response_get_dvb_roll(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  40);
}

/**
 * @brief Get field dvb_std from beacon_response message
 *
 * @return  dvb standard code.
 */
static inline uint8_t mavlink_msg_beacon_response_get_dvb_std(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  41);
}

/**
 * @brief Get field dvb_alg from beacon_response message
 *
 * @return  dvb algorithm.
 */
static inline uint8_t mavlink_msg_beacon_response_get_dvb_alg(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  42);
}

/**
 * @brief Get field dvb_pr from beacon_response message
 *
 * @return  dvb punch rate.
 */
static inline uint8_t mavlink_msg_beacon_response_get_dvb_pr(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  43);
}

/**
 * @brief Get field beacon_feed_volt from beacon_response message
 *
 * @return  beacon feed volt.
 */
static inline uint8_t mavlink_msg_beacon_response_get_beacon_feed_volt(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  44);
}

/**
 * @brief Get field beacon_22k from beacon_response message
 *
 * @return  beacon 22k.
 */
static inline uint8_t mavlink_msg_beacon_response_get_beacon_22k(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  45);
}

/**
 * @brief Get field beacon_period from beacon_response message
 *
 * @return  beacon period.
 */
static inline uint8_t mavlink_msg_beacon_response_get_beacon_period(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  46);
}

/**
 * @brief Get field beacon_freq from beacon_response message
 *
 * @return  beacon frequency(ka.MHz).
 */
static inline float mavlink_msg_beacon_response_get_beacon_freq(const mavlink_message_t* msg)
{
    return _MAV_RETURN_float(msg,  20);
}

/**
 * @brief Get field beacon_rng from beacon_response message
 *
 * @return  beacon range.
 */
static inline uint8_t mavlink_msg_beacon_response_get_beacon_rng(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  47);
}

/**
 * @brief Get field radio_feed_volt from beacon_response message
 *
 * @return  radio feed volt.
 */
static inline uint8_t mavlink_msg_beacon_response_get_radio_feed_volt(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  48);
}

/**
 * @brief Get field radio_22k from beacon_response message
 *
 * @return  radio 22k.
 */
static inline uint8_t mavlink_msg_beacon_response_get_radio_22k(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  49);
}

/**
 * @brief Get field radio_period from beacon_response message
 *
 * @return  radio period.
 */
static inline uint8_t mavlink_msg_beacon_response_get_radio_period(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  50);
}

/**
 * @brief Get field radio_freq from beacon_response message
 *
 * @return  radio frequency(ka.MHz).
 */
static inline float mavlink_msg_beacon_response_get_radio_freq(const mavlink_message_t* msg)
{
    return _MAV_RETURN_float(msg,  24);
}

/**
 * @brief Get field radio_symb from beacon_response message
 *
 * @return  radio symbol rate.
 */
static inline uint32_t mavlink_msg_beacon_response_get_radio_symb(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint32_t(msg,  28);
}

/**
 * @brief Get field radio_scan_rng from beacon_response message
 *
 * @return  radio scan range.
 */
static inline uint16_t mavlink_msg_beacon_response_get_radio_scan_rng(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint16_t(msg,  32);
}

/**
 * @brief Get field radio_roll from beacon_response message
 *
 * @return  radio roll.
 */
static inline uint8_t mavlink_msg_beacon_response_get_radio_roll(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  51);
}

/**
 * @brief Get field ascii_info from beacon_response message
 *
 * @return  ascii information.
 */
static inline uint16_t mavlink_msg_beacon_response_get_ascii_info(const mavlink_message_t* msg, uint8_t *ascii_info)
{
    return _MAV_RETURN_uint8_t_array(msg, ascii_info, 60,  52);
}

/**
 * @brief Decode a beacon_response message into a struct
 *
 * @param msg The message to decode
 * @param beacon_response C-struct to decode the message contents into
 */
static inline void mavlink_msg_beacon_response_decode(const mavlink_message_t* msg, mavlink_beacon_response_t* beacon_response)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    beacon_response->status = mavlink_msg_beacon_response_get_status(msg);
    beacon_response->res1 = mavlink_msg_beacon_response_get_res1(msg);
    beacon_response->dvb_freq = mavlink_msg_beacon_response_get_dvb_freq(msg);
    beacon_response->dvb_symb = mavlink_msg_beacon_response_get_dvb_symb(msg);
    beacon_response->dvb_rng = mavlink_msg_beacon_response_get_dvb_rng(msg);
    beacon_response->beacon_freq = mavlink_msg_beacon_response_get_beacon_freq(msg);
    beacon_response->radio_freq = mavlink_msg_beacon_response_get_radio_freq(msg);
    beacon_response->radio_symb = mavlink_msg_beacon_response_get_radio_symb(msg);
    beacon_response->radio_scan_rng = mavlink_msg_beacon_response_get_radio_scan_rng(msg);
    beacon_response->cmd = mavlink_msg_beacon_response_get_cmd(msg);
    beacon_response->dvb_feed_volt = mavlink_msg_beacon_response_get_dvb_feed_volt(msg);
    beacon_response->dvb_22k = mavlink_msg_beacon_response_get_dvb_22k(msg);
    beacon_response->dvb_period = mavlink_msg_beacon_response_get_dvb_period(msg);
    beacon_response->dvb_id = mavlink_msg_beacon_response_get_dvb_id(msg);
    beacon_response->dvb_mcod = mavlink_msg_beacon_response_get_dvb_mcod(msg);
    beacon_response->dvb_roll = mavlink_msg_beacon_response_get_dvb_roll(msg);
    beacon_response->dvb_std = mavlink_msg_beacon_response_get_dvb_std(msg);
    beacon_response->dvb_alg = mavlink_msg_beacon_response_get_dvb_alg(msg);
    beacon_response->dvb_pr = mavlink_msg_beacon_response_get_dvb_pr(msg);
    beacon_response->beacon_feed_volt = mavlink_msg_beacon_response_get_beacon_feed_volt(msg);
    beacon_response->beacon_22k = mavlink_msg_beacon_response_get_beacon_22k(msg);
    beacon_response->beacon_period = mavlink_msg_beacon_response_get_beacon_period(msg);
    beacon_response->beacon_rng = mavlink_msg_beacon_response_get_beacon_rng(msg);
    beacon_response->radio_feed_volt = mavlink_msg_beacon_response_get_radio_feed_volt(msg);
    beacon_response->radio_22k = mavlink_msg_beacon_response_get_radio_22k(msg);
    beacon_response->radio_period = mavlink_msg_beacon_response_get_radio_period(msg);
    beacon_response->radio_roll = mavlink_msg_beacon_response_get_radio_roll(msg);
    mavlink_msg_beacon_response_get_ascii_info(msg, beacon_response->ascii_info);
#else
        uint8_t len = msg->len < MAVLINK_MSG_ID_BEACON_RESPONSE_LEN? msg->len : MAVLINK_MSG_ID_BEACON_RESPONSE_LEN;
        memset(beacon_response, 0, MAVLINK_MSG_ID_BEACON_RESPONSE_LEN);
    memcpy(beacon_response, _MAV_PAYLOAD(msg), len);
#endif
}
